home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / gentoo_GLSA-200401-01.nasl < prev    next >
Text File  |  2005-03-31  |  9KB  |  155 lines

  1. # This script was automatically generated from 
  2. #  http://www.gentoo.org/security/en/glsa/glsa-200401-01.xml
  3. # It is released under the Nessus Script Licence.
  4. # The messages are release under the Creative Commons - Attribution /
  5. # Share Alike license. See http://creativecommons.org/licenses/by-sa/2.0/
  6. #
  7. # Avisory is copyright 2001-2004 Gentoo Foundation, Inc.
  8. # GLSA2nasl Convertor is copyright 2004 Michel Arboi
  9.  
  10. if (! defined_func('bn_random')) exit(0);
  11.  
  12. if (description)
  13. {
  14.  script_id(14441);
  15.  script_version("$Revision: 1.1 $");
  16.  script_xref(name: "GLSA", value: "200401-01");
  17.  
  18.  desc = 'The remote host is affected by the vulnerability described in GLSA-200401-01
  19. (Linux kernel do_mremap() local privilege escalation vulnerability)
  20.  
  21.  
  22.     The memory subsystem allows for shrinking, growing, and moving of
  23.     chunks of memory along any of the allocated memory areas which the kernel
  24.     posesses.
  25.     A typical virtual memory area covers at least one memory page. An incorrect
  26.     bound check discovered inside the do_mremap() kernel code performing
  27.     remapping of a virtual memory area may lead to creation of a virtual memory
  28.     area of 0 bytes length.
  29.     The problem is based on the general mremap flaw that remapping 2 pages from
  30.     inside a VMA creates a memory hole of only one page in length but an
  31.     additional VMA of two pages. In the case of a zero sized remapping request
  32.     no VMA hole is created but an additional VMA descriptor of 0
  33.     bytes in length is created.
  34.     This advisory also addresses an information leak in the Linux RTC system.
  35.   
  36. Impact
  37.  
  38.     Arbitrary code may be able to exploit this vulnerability and may
  39.     disrupt the operation of other
  40.     parts of the kernel memory management subroutines finally leading to
  41.     unexpected behavior.
  42.     Since no special privileges are required to use the mremap(2) system call
  43.     any process may misuse its unexpected behavior to disrupt the kernel memory
  44.     management subsystem. Proper exploitation of this vulnerability may lead to
  45.     local privilege escalation including execution of arbitrary code
  46.     with kernel level access.
  47.     Proof-of-concept exploit code has been created and successfully tested,
  48.     permitting root escalation on vulnerable systems. As a result, all users
  49.     should upgrade their kernels to new or patched versions.
  50.   
  51. Workaround
  52.  
  53.     There is no temporary workaround - a kernel upgrade is required. A list
  54.     of unaffected kernels is provided along with this announcement.
  55.   
  56. References:
  57.     http://isec.pl/vulnerabilities/isec-0012-mremap.txt
  58.  
  59.  
  60. Solution: 
  61.     Users are encouraged to upgrade to the latest available sources for
  62.     their system:
  63.     $> emerge sync
  64.     $> emerge -pv your-favourite-sources
  65.     $> emerge your-favourite-sources
  66.     $> # Follow usual procedure for compiling and installing a kernel.
  67.     $> # If you use genkernel, run genkernel as you would do normally.
  68.     $> # IF YOUR KERNEL IS MARKED as "remerge required!" THEN
  69.     $> # YOU SHOULD UPDATE YOUR KERNEL EVEN IF PORTAGE
  70.     $> # REPORTS THAT THE SAME VERSION IS INSTALLED.
  71.   
  72.  
  73. Risk Factor : High
  74. ';
  75.  script_description(english: desc);
  76.  script_copyright(english: "(C) 2004 Michel Arboi");
  77.  script_name(english: "[GLSA-200401-01] Linux kernel do_mremap() local privilege escalation vulnerability");
  78.  script_category(ACT_GATHER_INFO);
  79.  script_family(english: "Gentoo Local Security Checks");
  80.  script_dependencies("ssh_get_info.nasl");
  81.  script_require_keys('Host/Gentoo/qpkg-list');
  82.  script_summary(english: 'Linux kernel do_mremap() local privilege escalation vulnerability');
  83.  exit(0);
  84. }
  85.  
  86. include('qpkg.inc');
  87. if (qpkg_check(package: "sys-kernel/pfeifer-sources", unaffected: make_list("ge 2.4.21.1_pre4-r1"), vulnerable: make_list("lt 2.4.21.1_pre4-r1")
  88. )) { security_hole(0); exit(0); }
  89. if (qpkg_check(package: "sys-kernel/gentoo-sources", unaffected: make_list("gt 2.4.22-r3"), vulnerable: make_list("lt 2.4.22-r3")
  90. )) { security_hole(0); exit(0); }
  91. if (qpkg_check(package: "sys-kernel/mm-sources", unaffected: make_list("ge 2.6.1_rc1-r2"), vulnerable: make_list("lt 2.6.1_rc1-r2")
  92. )) { security_hole(0); exit(0); }
  93. if (qpkg_check(package: "sys-kernel/ppc-sources-benh", unaffected: make_list("ge 2.4.22-r4"), vulnerable: make_list("lt 2.4.22-r4")
  94. )) { security_hole(0); exit(0); }
  95. if (qpkg_check(package: "sys-kernel/hardened-sources", unaffected: make_list("ge 2.4.22-r2"), vulnerable: make_list("lt 2.4.22-r2")
  96. )) { security_hole(0); exit(0); }
  97. if (qpkg_check(package: "sys-kernel/gentoo-dev-sources", unaffected: make_list("ge 2.6.1_rc3"), vulnerable: make_list("lt 2.6.1_rc3")
  98. )) { security_hole(0); exit(0); }
  99. if (qpkg_check(package: "sys-kernel/selinux-sources", unaffected: make_list("ge 2.4.24"), vulnerable: make_list("lt 2.4.24")
  100. )) { security_hole(0); exit(0); }
  101. if (qpkg_check(package: "sys-kernel/ck-sources", unaffected: make_list("ge 2.4.23-r1"), vulnerable: make_list("lt 2.4.23-r1")
  102. )) { security_hole(0); exit(0); }
  103. if (qpkg_check(package: "sys-kernel/sparc-dev-sources", unaffected: make_list("ge 2.6.1_rc2"), vulnerable: make_list("lt 2.6.1_rc2")
  104. )) { security_hole(0); exit(0); }
  105. if (qpkg_check(package: "sys-kernel/pac-sources", unaffected: make_list("ge 2.4.23-r1"), vulnerable: make_list("lt 2.4.23-r1")
  106. )) { security_hole(0); exit(0); }
  107. if (qpkg_check(package: "sys-kernel/ia64-sources", unaffected: make_list("ge 2.4.22-r2"), vulnerable: make_list("lt 2.4.22-r2")
  108. )) { security_hole(0); exit(0); }
  109. if (qpkg_check(package: "sys-kernel/xfs-sources", unaffected: make_list("ge 2.4.23-r1"), vulnerable: make_list("lt 2.4.23-r1")
  110. )) { security_hole(0); exit(0); }
  111. if (qpkg_check(package: "sys-kernel/usermode-sources", unaffected: make_list("ge 2.4.23-r1"), vulnerable: make_list("lt 2.4.23-r1")
  112. )) { security_hole(0); exit(0); }
  113. if (qpkg_check(package: "sys-kernel/vanilla-sources", unaffected: make_list("ge 2.4.24"), vulnerable: make_list("lt 2.4.24")
  114. )) { security_hole(0); exit(0); }
  115. if (qpkg_check(package: "sys-kernel/ppc-sources-crypto", unaffected: make_list("ge 2.4.20-r2"), vulnerable: make_list("lt 2.4.20-r2")
  116. )) { security_hole(0); exit(0); }
  117. if (qpkg_check(package: "sys-kernel/ppc-development-sources", unaffected: make_list("ge 2.6.1_rc1-r1"), vulnerable: make_list("lt 2.6.1_rc1-r1")
  118. )) { security_hole(0); exit(0); }
  119. if (qpkg_check(package: "sys-kernel/vanilla-prepatch-sources", unaffected: make_list("ge 2.4.25_pre4"), vulnerable: make_list("lt 2.4.25_pre4")
  120. )) { security_hole(0); exit(0); }
  121. if (qpkg_check(package: "sys-kernel/gaming-sources", unaffected: make_list("ge 2.4.20-r7"), vulnerable: make_list("lt 2.4.20-r7")
  122. )) { security_hole(0); exit(0); }
  123. if (qpkg_check(package: "sys-kernel/planet-ccrma-sources", unaffected: make_list("ge 2.4.21-r4"), vulnerable: make_list("lt 2.4.21-r4")
  124. )) { security_hole(0); exit(0); }
  125. if (qpkg_check(package: "sys-kernel/sparc-sources", unaffected: make_list("ge 2.4.24"), vulnerable: make_list("lt 2.4.24")
  126. )) { security_hole(0); exit(0); }
  127. if (qpkg_check(package: "sys-kernel/gs-sources", unaffected: make_list("ge 2.4.23_pre8-r2"), vulnerable: make_list("lt 2.4.23_pre8-r2")
  128. )) { security_hole(0); exit(0); }
  129. if (qpkg_check(package: "sys-kernel/mips-sources", unaffected: make_list("ge 2.4.23-r2"), vulnerable: make_list("lt 2.4.23-r2")
  130. )) { security_hole(0); exit(0); }
  131. if (qpkg_check(package: "sys-kernel/openmosix-sources", unaffected: make_list("ge 2.4.22-r3"), vulnerable: make_list("lt 2.4.22-r3")
  132. )) { security_hole(0); exit(0); }
  133. if (qpkg_check(package: "sys-kernel/hppa-sources", unaffected: make_list("ge 2.4.23_p4-r2"), vulnerable: make_list("lt 2.4.23_p4-r2")
  134. )) { security_hole(0); exit(0); }
  135. if (qpkg_check(package: "sys-kernel/aa-sources", unaffected: make_list("ge 2.4.23-r1"), vulnerable: make_list("lt 2.4.23-r1")
  136. )) { security_hole(0); exit(0); }
  137. if (qpkg_check(package: "sys-kernel/wolk-sources", unaffected: make_list("ge 4.10_pre7-r2"), vulnerable: make_list("lt 4.10_pre7-r2")
  138. )) { security_hole(0); exit(0); }
  139. if (qpkg_check(package: "sys-kernel/alpha-sources", unaffected: make_list("ge 2.4.21-r2"), vulnerable: make_list("lt 2.4.21-r2")
  140. )) { security_hole(0); exit(0); }
  141. if (qpkg_check(package: "sys-kernel/ppc-sources", unaffected: make_list("ge 2.4.23-r1"), vulnerable: make_list("lt 2.4.23-r1")
  142. )) { security_hole(0); exit(0); }
  143. if (qpkg_check(package: "sys-kernel/arm-sources", unaffected: make_list("ge 2.4.19-r2"), vulnerable: make_list("lt 2.4.19-r2")
  144. )) { security_hole(0); exit(0); }
  145. if (qpkg_check(package: "sys-kernel/grsec-sources", unaffected: make_list("gt 2.4.23.2.0_rc4-r1"), vulnerable: make_list("lt 2.4.23.2.0_rc4-r1")
  146. )) { security_hole(0); exit(0); }
  147. if (qpkg_check(package: "sys-kernel/win4lin-sources", unaffected: make_list("ge 2.6.0-r1"), vulnerable: make_list("lt 2.6.0-r1")
  148. )) { security_hole(0); exit(0); }
  149. if (qpkg_check(package: "sys-kernel/development-sources", unaffected: make_list("ge 2.6.1_rc3"), vulnerable: make_list("lt 2.6.1_rc3")
  150. )) { security_hole(0); exit(0); }
  151. if (qpkg_check(package: "sys-kernel/mips-prepatch-sources", unaffected: make_list("ge 2.4.24_pre2-r1"), vulnerable: make_list("lt 2.4.24_pre2-r1")
  152. )) { security_hole(0); exit(0); }
  153. if (qpkg_check(package: "sys-kernel/compaq-sources", unaffected: make_list("ge 2.4.9.32.7-r1"), vulnerable: make_list("lt 2.4.9.32.7-r1")
  154. )) { security_hole(0); exit(0); }
  155.